package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.FileInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 执业人员信息表
* @DateTime: 2022/5/5
* @Params:
* @Return
*/
@TableName("t10_prac_prsn_info")
public class PracPrsnInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 执业人员信息编号
    */
    @TableId("prac_psn_info_no")
    private String pracPsnInfoNo;

    /**
    * 执业资格证书号码
    */
    private String pracQlfyCertifNo;

    /**
    * 执业起始年月
    */
    private String pracBeginTearMth;

    /**
    * 执业人员信息备注
    */
    private String pracPsnInfoRemark;

    /**
    * 执业人员信息录入人
    */
    private String infoInputPsnNo;

    /**
    * 执业人员信息更新人
    */
    private String infoUpdatePsnNo;

    /**
    * 证券从业资格证书号码
    */
    private String crerQlfyCertifNo;

    /**
    * 中国注册会计师资格证书号码
    */
    private String cicpaQlfcatNo;

    /**
    * 从业经历
    */
    private String crerExepDesc;

    /**
    * 性别
    */
    private String sexName;

    /**
    * 是否具有三年以上资信评级业务经验
    */
    @TableField("is_more_3years_crbexp")
    private String isMore3yearsCrbexp;

    /**
    * 信息状态(01草稿02提交)
    */
    private String infoStatusCode;

    /**
    * 是否删除（0否1是）
    */
    private String isDel;

    /**
    * 机构用户姓名
    */
    private String orgUserName;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 执业人员信息录入时间
    */
    private String infoInputTime;

    /**
    * 执业人员信息更新时间
    */
    private String infoUpdateTime;

    /**
    * 执业人员姓名
    */
    private String pracPsnName;

    /**
    * 现任职务
    */
    private String currDutyName;

    /**
     * 审核日志
     */
    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    @TableField(exist = false)
    private List<FileInfo> fileList;

    public List<FileInfo> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInfo> fileList) {
        this.fileList = fileList;
    }

    public PracPrsnInfo() {
    }

    public String getPracPsnInfoNo() {
        return pracPsnInfoNo;
    }

    public void setPracPsnInfoNo(String pracPsnInfoNo) {
        this.pracPsnInfoNo = pracPsnInfoNo;
    }

    public String getPracQlfyCertifNo() {
        return pracQlfyCertifNo;
    }

    public void setPracQlfyCertifNo(String pracQlfyCertifNo) {
        this.pracQlfyCertifNo = pracQlfyCertifNo;
    }

    public String getPracBeginTearMth() {
        return pracBeginTearMth;
    }

    public void setPracBeginTearMth(String pracBeginTearMth) {
        this.pracBeginTearMth = pracBeginTearMth;
    }

    public String getPracPsnInfoRemark() {
        return pracPsnInfoRemark;
    }

    public void setPracPsnInfoRemark(String pracPsnInfoRemark) {
        this.pracPsnInfoRemark = pracPsnInfoRemark;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getInfoUpdatePsnNo() {
        return infoUpdatePsnNo;
    }

    public void setInfoUpdatePsnNo(String infoUpdatePsnNo) {
        this.infoUpdatePsnNo = infoUpdatePsnNo;
    }

    public String getCrerQlfyCertifNo() {
        return crerQlfyCertifNo;
    }

    public void setCrerQlfyCertifNo(String crerQlfyCertifNo) {
        this.crerQlfyCertifNo = crerQlfyCertifNo;
    }

    public String getCicpaQlfcatNo() {
        return cicpaQlfcatNo;
    }

    public void setCicpaQlfcatNo(String cicpaQlfcatNo) {
        this.cicpaQlfcatNo = cicpaQlfcatNo;
    }

    public String getCrerExepDesc() {
        return crerExepDesc;
    }

    public void setCrerExepDesc(String crerExepDesc) {
        this.crerExepDesc = crerExepDesc;
    }

    public String getSexName() {
        return sexName;
    }

    public void setSexName(String sexName) {
        this.sexName = sexName;
    }

    public String getIsMore3yearsCrbexp() {
        return isMore3yearsCrbexp;
    }

    public void setIsMore3yearsCrbexp(String isMore3yearsCrbexp) {
        this.isMore3yearsCrbexp = isMore3yearsCrbexp;
    }

    public String getInfoStatusCode() {
        return infoStatusCode;
    }

    public void setInfoStatusCode(String infoStatusCode) {
        this.infoStatusCode = infoStatusCode;
    }

    public String getIsDel() {
        return isDel;
    }

    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }

    public String getOrgUserName() {
        return orgUserName;
    }

    public void setOrgUserName(String orgUserName) {
        this.orgUserName = orgUserName;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getInfoUpdateTime() {
        return infoUpdateTime;
    }

    public void setInfoUpdateTime(String infoUpdateTime) {
        this.infoUpdateTime = infoUpdateTime;
    }

    public String getPracPsnName() {
        return pracPsnName;
    }

    public void setPracPsnName(String pracPsnName) {
        this.pracPsnName = pracPsnName;
    }

    public String getCurrDutyName() {
        return currDutyName;
    }

    public void setCurrDutyName(String currDutyName) {
        this.currDutyName = currDutyName;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","isDel","isMore3yearsCrbexp","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0104","DG0104","LIST"};
    }
}